package edu.ucsur.tp.libreriaelsaber.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import edu.ucsur.tp.libreriaelsaber.beans.UsuarioBean;
import edu.ucsur.tp.libreriaelsaber.database.DBConnection;
import java.util.ArrayList;
import java.util.List;

public class TemporalUsuarioDAOImpl implements UsuarioDAO {

  public static List<UsuarioBean> listaUsuarios = new ArrayList<UsuarioBean>();
  
  static {
    listaUsuarios.add(new UsuarioBean("ajolie", "Angelina", "Jolie", "ajolie@hotmail.com", "05/05/1978", 1000000.00));
    listaUsuarios.add(new UsuarioBean("bpitt", "Bradd", "Pitt", "bpitt@gmail.com", "04/07/1975", 3000000.00));
    listaUsuarios.add(new UsuarioBean("sstallone", "Sylvester", "Stallone", "sylvester@outlook.com", "12/11/1970", 5000000.00));
    listaUsuarios.add(new UsuarioBean("bwillis", "Bruce", "Willis", "bruce.willis@aol.com", "07/04/1974", 4000000.00));
    listaUsuarios.add(new UsuarioBean("kstewart", "Kristen", "Stewart", "kstewart@live.com", "09/08/1986", 9000000.00));
  }
  
  @Override
  public UsuarioBean getUsuario(String codigoUsuario) {
    for (UsuarioBean u : listaUsuarios) {
      if (u.getCodigoUsuario().equals(codigoUsuario)) {
        return u;
      }
    }
    return null;
  }
  
  @Override
  public List<UsuarioBean> getListaUsuariosPorFiltros(String filtroNombres, String filtroApellidos) {
    List<UsuarioBean> lista1 = new ArrayList<UsuarioBean>();
    for (UsuarioBean u : listaUsuarios) {
      if (u.getNombres().toUpperCase().contains(filtroNombres.toUpperCase()) ||
          u.getApellidos().toUpperCase().contains(filtroApellidos.toUpperCase())) {
        lista1.add(u);
      }
    }
    return lista1;
  }

  @Override
  public void insertar(UsuarioBean usuario) {
    listaUsuarios.add(usuario);
  }

  @Override
  public void eliminar(String codigoUsuario) {
    for (UsuarioBean u : listaUsuarios) {
      if (u.getCodigoUsuario().equals(codigoUsuario)) {
        listaUsuarios.remove(u);
        break;
      }
    }
  }
  
  @Override
  public void actualizar(UsuarioBean usuario) {
    for (int i=0; i<listaUsuarios.size(); i++) {
      UsuarioBean u = listaUsuarios.get(i);
      if (u.getCodigoUsuario().equals(usuario.getCodigoUsuario())) {
        listaUsuarios.set(i, usuario);
        break;
      }
    }
  }
  
}
